/**
 *系统平台
 * moonvip_admin
 * com.tz.service.shoporder
 * IShoporderService.java
 * 创建人:小胡 
 * 时间：2016年12月20日 11:25:23
 *
 */
package com.tz.service.shoporder;

import com.tz.bean.OrderPicture;
import com.tz.bean.Service;
import com.tz.bean.Shoporder;
import com.tz.bean.TzParams;
import com.tz.util.weixinUtils.template.CommonOrder;

import net.sf.json.JSONObject;
import org.apache.ibatis.annotations.Param;

import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 
 * IShoporderService
 * 创建人:小胡 
 * 时间：2016年12月20日 11:25:23
 * @version 1.0.0
 * 
 */
public interface IShoporderService {


	/**
	 * 
	 * com.tz.service.shoporder 
	 * 方法名：findShoporders
	 * 创建人：小胡 
	 * 手机号码:15166195973
	 * 时间：2016年12月20日 11:25:23
	 * @param params
	 * @return 
	 * 返回类型：List<Shoporder>
	 * @exception 
	 * @since  1.0.0
	 */
	public List<Map<String , Object>> findShoporders(TzParams params);


	/**
	 * 求总数
	 * com.tz.service.shoporder
	 * 方法名：count
	 * 创建人：小胡
	 * 手机号码:15074816437
	 * 时间：2016年12月20日 11:25:23
	 * @param params
	 * @return
	 * 返回类型：int
	 * @exception
	 * @since  1.0.0
	 */
	public int count(TzParams params);
	
	/**
	 * 
	 * com.tz.service.shoporder 
	 * 方法名：findShoporders
	 * 创建人：小胡 
	 * 手机号码:15166195973
	 * 时间：2016年12月20日 11:25:23
	 * @param
	 * @return
	 * 返回类型：List<Shoporder>
	 * @exception 
	 * @since  1.0.0
	 */
	public HashMap<String ,Object> getShoporder(Integer id);
	
	/**
	 * 保存商城订单管理
	 * com.tz.service.shoporder 
	 * 方法名：save
	 * 创建人：小胡 
	 * 手机号码:15166195973
	 * 时间：2016年12月20日 11:25:23 
	 * @param shoporder
	 * @return 
	 * 返回类型：Shoporder
	 * @exception 
	 * @since  1.0.0
	 */
	public int save(Shoporder shoporder);
	
	/**
	 * 更新商城订单管理
	 * com.tz.service.shoporder 
	 * 方法名：update
	 * 创建人：小胡 
	 * 手机号码:15166195973
	 * 时间：2016年12月20日 11:25:23
	 * @param shoporder
	 * @return 
	 * 返回类型：int
	 * @exception 
	 * @since  1.0.0
	 */
	public int update(Shoporder shoporder);
	
	/**
	 * 删除商城订单管理
	 * com.tz.service.shoporder 
	 * 方法名：delete
	 * 创建人：小胡 
	 * 手机号码:15166195973
	 * 时间：2016年12月20日 11:25:23
	 * @param params
	 * @return 
	 * 返回类型：int
	 * @exception 
	 * @since  1.0.0
	 */
	public int delete(TzParams params);

	//后台 根据订单号查询 商城订单的相关信息
	Map<String , Object>  findShopOrderByOrderno(String orderno);

	//根据订单号查询商城订单的商品信息
	public List<Map<String , Object>> selectOrderDetailByOrderno(String orderno);

	//根据订单号查询服务订单的商品信息
	Map<String ,Object> selectServiceOrderDetailByOrderno(String orderno);

	//根据订单号查询维修服务订单的商品信息
	Map<String ,Object> selectServiceOrderDetailByOrderno2(String orderno);

	//维修服务订单服务信息详情
	Map<String ,Object> selectServiceInfo2(String orderno);


	//获取所有的商城订单状态
	List<Map<String ,Object>> getAllShopStatus();

	//获取所有的翻新订单的状态
	List<Map<String ,Object>> getAllRefurbishStatus();

	//获取所有的检测订单状态
	List<Map<String ,Object>> getAllTestingStatus();

	//获取所有的维修订单状态
	List<Map<String ,Object>> getAllRepairStatus();

	// 获取所有的回收订单状态
	List<Map<String ,Object>> getAllRecycleStatus();

	//获取所有的换款订单状态
	List<Map<String ,Object>> getAllExChangeStatus();

	//查询每日订单的数量
	int getDayOrderNum(String type);

	// 查询每日所有订单的数量
	int getDayAllOrderNum();

	//查询今日会员新增数量
	int getDayUserNum();

	//根据订单号获取serviceId
	int getServiceIdByorderno(String orderno);

	//保存检测报告
	 void saveCheckport(String orderNo ,String type ,String checkreport, String[] checkreportUrl,Integer serviceId,String getway) throws IOException;

	//保存订单_照片中间表
	int saveOrderPicture(OrderPicture orderPicture);


	//查询所有的快递公司
	List<HashMap<String , Object>>  findAllexpressCompanies();

	 //保存拍照邮寄信息
	public void saveOrderPicture(Shoporder shoporder , String[] imgurl) throws IOException;

	/**
	 * 根据快递单号 和 快递公司编码  查询物流信息
	 * @param order
	 * @param mark  0代表查询买家发货物流信息  1代表查询平台发货物流信息
	 * @return
	 */
	public JSONObject getOrderTracesByJson(Shoporder order , int mark) throws Exception;


	//定价
	public void updateFixPrice(String orderno ,String type ,Double aturalprice, String openid);

	/**
	 * 得到物流公司名称
	 */
	String getlogisticCompany(String logisticno);

	//回收金额确认
	void updateConfirmRecycleMoney(Shoporder shoporder , String backUsername);

	List<HashMap<String, Object>> getGoodDetailByOrdeno(String orderno);

	/**
	 * 查询所有的服务订单的图片
	 */
	List<HashMap<String,Object>> getAllServicepictures(String orderno);

	/**
	 * 查询所有的服务订单的图片
	 */
	List<HashMap<String,Object>> getcheckportServicepictures(String orderno);


	/**
	 * 查询换款的商品信息
	 * @param orderno
	 * @return
	 */
	Map<String,Object> selectBuyInfo(String orderno);

	/**
	 * 根据订单号查询检测报告
	 */
	HashMap<String, Object>  getReportByOrderno(String orderno);

	/**
	 * 查询得到平台物流信息
	 */
	HashMap<String, Object> getLogist(String orderno);

	/**
	 * 更新服务表
	 * @param service
	 * @return
	 */
	int updateService(Service service);

	int updateCheckport(Service service,int[] delIds, String[] addImgs) throws IOException;

	HashMap<String, Object> getcheckportServiceId(String orderno);

	HashMap<String, Object>  getMetal(@Param("orderno") String orderno);

	HashMap<String, Object>  getDiamond(@Param("orderno") String orderno);

	HashMap<String, Object>  getStoreInfo(String orderno);

	List<HashMap<String, Object>>  chartcheckedGood(Integer serviceId);

	List<HashMap<String, Object>>  getAllcheckpictures(Integer serviceId);

	String getNickname(String openid);

	String getRemark(Integer exId);
	
	CommonOrder getCommonOrder(String orderno);

}